package collection集合遍历;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/*
迭代器的细节注意点：
1.报错 NoSuchElementException
2.迭代器遍历完毕，指针不会复位
3.循环中只能用一次 next 方法
4.迭代器遍历时，不能用集合的方法进行增加或者删除,若删除可用迭代器提供的remove方法
*/
public class CollectionDemo2 {
    public static void main(String[] args) {
        /*Collection 系列集合三种通用的遍历方式：
        1. 迭代器遍历2. 增强 for 遍历3.lambda 表达式遍历
        迭代器遍历相关的三个方法：
        Iterator<E> iterator () ：获取一个迭代器对象
        boolean hasNext () ：判断当前指向的位置是否有元素
        E next () ：获取当前指向的元素并移动指针*/
        //创建集合并添加元素
        Collection<String> coll=new ArrayList<>();
        coll.add("aaa");
        coll.add("bbb");
        coll.add("ccc");
        coll.add("ddd");
        //获取迭代器对象
        Iterator<String> it=coll.iterator();
        //遍历元素
        while(it.hasNext()){
            //next () ：获取当前指向的元素并移动指针
            String str=it.next();
            System.out.println(str);
            //删除操作
            if("bbb".equals(str))
            {
                it.remove();
            }

        }
        System.out.println(coll);
    }
}
